package cn.itcast.nems.studentrecord.dto.refund;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class JournalRefundClazzDTO implements Serializable {
    /**
     * 学员ID
     */
    private Integer studentId ;
    /**
     * 班级ID
     */
    private Integer clazzId  ;
    /**
     * 班级名称
     */
    private String clazzName  ;
    /**
     * 学籍ID
     */
    private String  studentRecordId ;
    /**
     * 付费类型 id
     */
    private Integer paymentTypeId ;
    /**
     * 付费类型 name
     */
    private String paymentTypeName ;
    /**
     * 进班日期;未生效学籍不存在进班日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime inDate;

    /**
     * 出班结算日期;退学、转班、进待定班、结课等出班的操作都应记录该值。
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime settlementDate;
    /**
     * 班级执行价格;班级标准执行价格。如果有多个阶段，此字段也应只记录整个班级的执行价格，而不是单个阶段的执行价格。单位：分
     */
    private BigDecimal price;
    /**
     * 优惠金额;注：如果是基于整单的优惠，优惠金额应分摊到订单行上！所有阶段优惠金额的合计！单位：分
     */
    private BigDecimal discountAmount;
    /**
     * 调整金额;有调价单金额累加
     */
    private BigDecimal adjustmentAmount;
    /**
     * 退费金额
     */
    private BigDecimal refundAmount;
    /**
     * 转班转入金额;注：来自转班凭单，由其他学籍转进来金额。
     */
    private BigDecimal transferFromAmount;
    /**
     * 已付金额;注：不包括其他班转入的金额，需要将订单整单金额分摊到学籍上。特别注意此金额需要给基于订单头行来计算。所有阶段金额的合计！调价单等订单之外的支付也需要合计！
     */
    private BigDecimal paidAmount;


}
